<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    <title>Base API methods</title>
    <link rel="stylesheet" href="gettingStarted.css" type="text/css" />
    <meta name="generator" content="DocBook XSL Stylesheets V1.73.2" />
    <link rel="start" href="index.html" title="Berkeley DB Programmer's Reference Guide" />
    <link rel="up" href="rep.html" title="Chapter 13.  Berkeley DB Replication" />
    <link rel="prev" href="rep_mgr_meth.html" title="Replication Manager methods" />
    <link rel="next" href="rep_comm.html" title="Building the communications infrastructure" />
  </head>
  <body>
    <div xmlns="" class="navheader">
      <div class="libver">
        <p>Library Version 12.1.6.2</p>
      </div>
      <table width="100%" summary="Navigation header">
        <tr>
          <th colspan="3" align="center">Base API methods</th>
        </tr>
        <tr>
          <td width="20%" align="left"><a accesskey="p" href="rep_mgr_meth.html">Prev</a> </td>
          <th width="60%" align="center">Chapter 13.  Berkeley DB Replication </th>
          <td width="20%" align="right"> <a accesskey="n" href="rep_comm.html">Next</a></td>
        </tr>
      </table>
      <hr />
    </div>
    <div class="sect1" lang="en" xml:lang="en">
      <div class="titlepage">
        <div>
          <div>
            <h2 class="title" style="clear: both"><a id="rep_base_meth"></a>Base API methods</h2>
          </div>
        </div>
      </div>
      <p>
        Base API applications use the following Berkeley DB
        methods.
    </p>
      <div class="variablelist">
        <dl>
          <dt>
            <span class="term">
              <a href="../api_reference/C/reptransport.html" class="olink">DB_ENV-&gt;rep_set_transport()</a>
            </span>
          </dt>
          <dd>
            <p>
                    The <a href="../api_reference/C/reptransport.html" class="olink">DB_ENV-&gt;rep_set_transport()</a> method configures the
                    replication system's communications
                    infrastructure. 
                </p>
          </dd>
          <dt>
            <span class="term">
              <a href="../api_reference/C/repstart.html" class="olink">DB_ENV-&gt;rep_start()</a>
            </span>
          </dt>
          <dd>
            <p> 
                    The <a href="../api_reference/C/repstart.html" class="olink">DB_ENV-&gt;rep_start()</a> method configures (or
                    reconfigures) an existing database environment to
                    be a replication master or client.
                </p>
          </dd>
          <dt>
            <span class="term">
              <a href="../api_reference/C/repmessage.html" class="olink">DB_ENV-&gt;rep_process_message()</a>
            </span>
          </dt>
          <dd>
            <p> 
                    The <a href="../api_reference/C/repmessage.html" class="olink">DB_ENV-&gt;rep_process_message()</a> method is used to process
                    incoming messages from other environments in the
                    replication group. For clients, it is responsible
                    for accepting log records and updating the local
                    databases based on messages from the master. For
                    both the master and the clients, it is responsible
                    for handling administrative functions (for
                    example, the protocol for dealing with lost
                    messages), and permitting new clients to join an
                    active replication group. This method should only
                    be called after the replication system's
                    communications infrastructure has been configured
                    via <a href="../api_reference/C/reptransport.html" class="olink">DB_ENV-&gt;rep_set_transport()</a>.
                </p>
          </dd>
          <dt>
            <span class="term">
              <a href="../api_reference/C/repelect.html" class="olink">DB_ENV-&gt;rep_elect()</a>
            </span>
          </dt>
          <dd>
            <p> 
                    The <a href="../api_reference/C/repelect.html" class="olink">DB_ENV-&gt;rep_elect()</a> method causes the replication
                    group to elect a new master; it is called whenever
                    contact with the master is lost and the
                    application wants the remaining sites to select a
                    new master. 
                </p>
          </dd>
          <dt>
            <span class="term">
              <a href="../api_reference/C/envevent_notify.html" class="olink">DB_ENV-&gt;set_event_notify()</a>
            </span>
          </dt>
          <dd>
            <p> 
                    The <a href="../api_reference/C/envevent_notify.html" class="olink">DB_ENV-&gt;set_event_notify()</a> method is needed for
                    applications to discover important
                    replication-related events, such as the result of
                    an election and appointment of a new master.
                </p>
          </dd>
          <dt>
            <span class="term">
              <a href="../api_reference/C/reppriority.html" class="olink">DB_ENV-&gt;rep_set_priority()</a>
            </span>
          </dt>
          <dd>
            <p>
                    The <a href="../api_reference/C/reppriority.html" class="olink">DB_ENV-&gt;rep_set_priority()</a> method configures the local
                    site's priority for the purpose of elections.
                </p>
          </dd>
          <dt>
            <span class="term">
              <a href="../api_reference/C/repset_timeout.html" class="olink">DB_ENV-&gt;rep_set_timeout()</a>
            </span>
          </dt>
          <dd>
            <p> 
                    This method optionally configures various
                    timeout values. Otherwise default timeout values
                    as specified in <a href="../api_reference/C/repset_timeout.html" class="olink">DB_ENV-&gt;rep_set_timeout()</a> are used. 
                </p>
          </dd>
          <dt>
            <span class="term">
              <a href="../api_reference/C/repset_limit.html" class="olink">DB_ENV-&gt;rep_set_limit()</a>
            </span>
          </dt>
          <dd>
            <p> 
                    The <a href="../api_reference/C/repset_limit.html" class="olink">DB_ENV-&gt;rep_set_limit()</a> method imposes an upper bound on
                    the amount of data that will be sent in response
                    to a single call to <a href="../api_reference/C/repmessage.html" class="olink">DB_ENV-&gt;rep_process_message()</a>. During client
                    recovery, that is, when a replica site is trying
                    to synchronize with the master, clients may ask
                    the master for a large number of log records. If
                    it is going to harm an application for the master
                    message loop to remain busy for an extended period
                    transmitting records to the replica, then the
                    application will want to use <a href="../api_reference/C/repset_limit.html" class="olink">DB_ENV-&gt;rep_set_limit()</a> to limit
                    the amount of data the master will send before
                    relinquishing control and accepting other
                    messages. 
                </p>
          </dd>
          <dt>
            <span class="term">
              <a href="../api_reference/C/repset_request.html" class="olink">DB_ENV-&gt;rep_set_request()</a>
            </span>
          </dt>
          <dd>
            <p>
                    This method sets a threshold for the minimum
                    and maximum time that a client waits before
                    requesting retransmission of a missing message.
                </p>
          </dd>
        </dl>
      </div>
      <p>
        Base API applications may configure one or more view sites.
        A view is a full or partial copy of the replicated data that
        does not otherwise participate in the replication group. For
        more information, see <a class="xref" href="rep_partview.html" title="Replication views">Replication views</a>.
    </p>
      <p>
        In addition to the methods previously described, Base API
        applications may also call the following methods, as needed:
        <a href="../api_reference/C/repstat.html" class="olink">DB_ENV-&gt;rep_stat()</a>, <a href="../api_reference/C/repsync.html" class="olink">DB_ENV-&gt;rep_sync()</a> and <a href="../api_reference/C/repconfig.html" class="olink">DB_ENV-&gt;rep_set_config()</a>
    </p>
    </div>
    <div class="navfooter">
      <hr />
      <table width="100%" summary="Navigation footer">
        <tr>
          <td width="40%" align="left"><a accesskey="p" href="rep_mgr_meth.html">Prev</a> </td>
          <td width="20%" align="center">
            <a accesskey="u" href="rep.html">Up</a>
          </td>
          <td width="40%" align="right"> <a accesskey="n" href="rep_comm.html">Next</a></td>
        </tr>
        <tr>
          <td width="40%" align="left" valign="top">Replication Manager methods </td>
          <td width="20%" align="center">
            <a accesskey="h" href="index.html">Home</a>
          </td>
          <td width="40%" align="right" valign="top"> Building the communications infrastructure</td>
        </tr>
      </table>
    </div>
  </body>
</html>
